First production build
Since I had finished the main features, I felt it was time to push to main and get a production build ready. So far I've been developing locally inside the three.js source exampes folder so all my paths would be linked correclty, but this needed to change if I wanted to get this online. The extracted three.js source code is arund 3gigs and I do not wanna upload that to a webserver at all.
So I started looking around for cdn's and looking into maybe using Webpack but I found something much better. Since Three.js is a npm module, I could've bundled it with Webpack or Vite, but so far my dev env has been super minimal and I wanted to keep it that way if possible. I discovered Skypack.dev which serves optimized npm packages ready to import in js. I tried it out and it worked perfectly.
I uploaded this production "build" and moved it and all necessary items to the /src/ directory in the repo.
I mentioned a few blog posts ago that I got the domain thevirtualsoundscape.com which until now was just a "Coming soon" page hosted on Cloudflare Workers. I added new dns records to point to my webhost and added a new SSL certificate on my origin to be able to use full (strict) to make sure every connection is secure between my origin and any Cloudflare servers.
I thought about having Vercel make builds of the /src/ dir and then host my files that way but since it's literally a single .html file I didn't see the point in that right now. I might do that later so all my audio and video files are served from the same domain or to save space on my webhost.
So far me and a few friends have tested and verified that it works on Chrome (desktop), Chrome (mobile), and the built in Oculus browser. There has been a report of Firefox reality not working as soon as you click a stem. This sadly isn't something I can look into as I dont have a headset that supports this app. The built in Oculus browser works fine though, same with PC and mobile. On mobile instead of clicking a controller, you tap on the screen. The only limitation is that you cannot really rotate the controller without also moving your head. But all the features still work, even on mobile.
So that's it for the moment. The production build is online and accessible via thevirtualsoundscape.com. Have a look!